package cn.stylefeng.guns.modular.business.neo4j.entity;

import cn.stylefeng.guns.modular.business.neo4j.relationship.*;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import org.springframework.data.neo4j.core.schema.Relationship;


import java.util.ArrayList;
import java.util.List;

@Node
public class Town {
    @Id
    @GeneratedValue
    private Long id;
//    @ApiModelProperty("名称ID")
    private String indexId;
//    @ApiModelProperty("简介")
    private String introduce;
//    @ApiModelProperty("名称")
    private String title;
//    @ApiModelProperty("经纬度")
    private String jwd;

    @Relationship(type = "BIRTHPLACE_IN", direction = Relationship.Direction.INCOMING)
    private List<ReBirthplace> reBirthplaceList = new ArrayList<>();

    @Relationship(type = "TOWN_IN", direction = Relationship.Direction.INCOMING)
    private List<ReTown> reTownList = new ArrayList<>();

    @Relationship(type = "RIVERFROM", direction = Relationship.Direction.INCOMING)
    private List<ReRiverFrom> reRiverFromList = new ArrayList<>();

    @Relationship(type = "RIVEREND", direction = Relationship.Direction.INCOMING)
    private List<ReRiverEnd> reRiverEndList = new ArrayList<>();

    @Relationship(type = "RIVER_TOWN", direction = Relationship.Direction.INCOMING)
    private List<ReRiverTown> reRiverTownList = new ArrayList<>();

    @Relationship(type = "NODETOWN", direction = Relationship.Direction.INCOMING)
    private List<ReNodeTown> reNodeTownList = new ArrayList<>();
    public Town() {
    }

    public Town(String indexId, String introduce, String title, String jwd) {
        this.indexId = indexId;
        this.introduce = introduce;
        this.title = title;
        this.jwd = jwd;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getIndexId() {
        return indexId;
    }

    public void setIndexId(String indexId) {
        this.indexId = indexId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getJwd() {
        return jwd;
    }

    public void setJwd(String jwd) {
        this.jwd = jwd;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    public List<ReBirthplace> getReBirthplaceList() {
        return reBirthplaceList;
    }

    public void setReBirthplaceList(List<ReBirthplace> reBirthplaceList) {
        this.reBirthplaceList = reBirthplaceList;
    }

    public List<ReTown> getReTownList() {
        return reTownList;
    }

    public void setReTownList(List<ReTown> reTownList) {
        this.reTownList = reTownList;
    }

    public List<ReRiverFrom> getReRiverFromList() {
        return reRiverFromList;
    }

    public void setReRiverFromList(List<ReRiverFrom> reRiverFromList) {
        this.reRiverFromList = reRiverFromList;
    }

    public List<ReRiverEnd> getReRiverEndList() {
        return reRiverEndList;
    }

    public void setReRiverEndList(List<ReRiverEnd> reRiverEndList) {
        this.reRiverEndList = reRiverEndList;
    }

    public List<ReRiverTown> getReRiverTownList() {
        return reRiverTownList;
    }

    public void setReRiverTownList(List<ReRiverTown> reRiverTownList) {
        this.reRiverTownList = reRiverTownList;
    }

    public List<ReNodeTown> getReNodeTownList() {
        return reNodeTownList;
    }

    public void setReNodeTownList(List<ReNodeTown> reNodeTownList) {
        this.reNodeTownList = reNodeTownList;
    }
}
